﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EYSLibrary;
using System.Data.Entity;

namespace EYayincilikSistemi
{
    public partial class Davetler : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int hakemId;
            if (!IsPostBack)
            {
                //if (Int32.TryParse(Session["hakemId"].ToString(), out hakemId))    
                //{
                //Kullanıcı'yı alan kişi, hakemin logini durumunda Session["hakemId"] açacaktır.
                    using (EYayincilikDBEntities entities = new EYayincilikDBEntities())
                    {
                        var result = from d in entities.Davet
                                     where d.HakemId == 1     //Burada deneme amaçlı 1 verildi, 'hakemId' olması gerekiyor
                                     select new
                                     {
                                         YazarAdi = (d.Makale.Kullanici.Ad + " " + d.Makale.Kullanici.Soyad),
                                         MakaleBaslik = d.Makale.Baslik,
                                         EditorAdi = (d.Dergi.Kullanici.Ad + " " + d.Dergi.Kullanici.Soyad),
                                         d.DavetId
                                     };
                        DavetGridView.DataSource = result;
                        DavetGridView.DataBind();
                    //}
                }
            }


        }

        protected void DavetGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int makaleId;
            int rowIndex = int.Parse(e.CommandArgument.ToString());
            makaleId = Int32.Parse(DavetGridView.DataKeys[rowIndex][0].ToString());
            if (e.CommandName == "Kabul")
            {
                using (EYayincilikDBEntities entitites = new EYayincilikDBEntities())
                {
                    var result = from d in entitites.Davet
                                 where d.MakaleId == makaleId
                                 select d;
                    Davet reddedilenDavet = result.FirstOrDefault<Davet>();
                    reddedilenDavet.Cevap = 1;          //kabul edildi anlamında
                    entitites.SaveChanges();
                    //burada mail servisine bilgiler yollanacak
                }
            }
            else if (e.CommandName == "Red")
            {
                using (EYayincilikDBEntities entitites = new EYayincilikDBEntities())
                {
                    var result = from d in entitites.Davet
                                 where d.MakaleId == makaleId
                                 select d;
                    Davet reddedilenDavet = result.FirstOrDefault<Davet>();
                    reddedilenDavet.Cevap = 2;          //reddedildi anlamında
                    entitites.SaveChanges();
                    //burada mail servisine bilgiler yollanacak
                }
            }
            else if (e.CommandName == "Incele")
            {
                using (EYayincilikDBEntities entitites = new EYayincilikDBEntities())
                {
                    var result = from m in entitites.Makale
                                    where m.MakaleId == makaleId
                                    select m;
                    List<Makale> okunacak = result.ToList<Makale>();
                    if (okunacak.Count == 1)
                    {
                        lblMakaleBaslik.Text = okunacak[0].Baslik;
                        lblMetin.Text = okunacak[0].Metin;
                    }
                    else if (okunacak.Count == 0)
                    {
                        throw new Exception("Makale bulunamadı");
                    }
                    else
                    {
                        throw new Exception("Makale getirilirken bir hata oluştu");
                    }
                    
                }
            }
        }
    }
}